<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Paho C++: mqtt::iclient_persistence Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="pahologo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Paho C++
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">The Paho MQTT C++ Client Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmqtt_1_1iclient__persistence.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Friends</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classmqtt_1_1iclient__persistence-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">mqtt::iclient_persistence Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents a persistent data store, used to store outbound and inbound messages while they are in flight, enabling delivery to the QoS specified.  
 <a href="classmqtt_1_1iclient__persistence.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="iclient__persistence_8h_source.html">iclient_persistence.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a8d4b4f2aeec08433f824fda2a0fc13fe"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a8d4b4f2aeec08433f824fda2a0fc13fe">ptr_t</a> = std::shared_ptr&lt; <a class="el" href="classmqtt_1_1iclient__persistence.html">iclient_persistence</a> &gt;</td></tr>
<tr class="memdesc:a8d4b4f2aeec08433f824fda2a0fc13fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Smart/shared pointer to an object of this class.  <a href="#a8d4b4f2aeec08433f824fda2a0fc13fe">More...</a><br/></td></tr>
<tr class="separator:a8d4b4f2aeec08433f824fda2a0fc13fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d94ac43f630b23389f6936e74452d1d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a4d94ac43f630b23389f6936e74452d1d">const_ptr_t</a> = std::shared_ptr&lt; const <a class="el" href="classmqtt_1_1iclient__persistence.html">iclient_persistence</a> &gt;</td></tr>
<tr class="memdesc:a4d94ac43f630b23389f6936e74452d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Smart/shared pointer to a const object of this class.  <a href="#a4d94ac43f630b23389f6936e74452d1d">More...</a><br/></td></tr>
<tr class="separator:a4d94ac43f630b23389f6936e74452d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaf9a10b4dc43863f8d62f708e3f8571b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf9a10b4dc43863f8d62f708e3f8571b"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#aaf9a10b4dc43863f8d62f708e3f8571b">~iclient_persistence</a> ()</td></tr>
<tr class="memdesc:aaf9a10b4dc43863f8d62f708e3f8571b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br/></td></tr>
<tr class="separator:aaf9a10b4dc43863f8d62f708e3f8571b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0072b4a4cadc6e16faa53d2b45e7e612"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a0072b4a4cadc6e16faa53d2b45e7e612">open</a> (const string &amp;clientId, const string &amp;serverURI)=0</td></tr>
<tr class="memdesc:a0072b4a4cadc6e16faa53d2b45e7e612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the persistent store.  <a href="#a0072b4a4cadc6e16faa53d2b45e7e612">More...</a><br/></td></tr>
<tr class="separator:a0072b4a4cadc6e16faa53d2b45e7e612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4777bfc318f827d2535ae5e47b1909a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4777bfc318f827d2535ae5e47b1909a5"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a4777bfc318f827d2535ae5e47b1909a5">close</a> ()=0</td></tr>
<tr class="memdesc:a4777bfc318f827d2535ae5e47b1909a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the persistent store that was previously opened. <br/></td></tr>
<tr class="separator:a4777bfc318f827d2535ae5e47b1909a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6ad819aea04897b69e411dd1cb5fc7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb6ad819aea04897b69e411dd1cb5fc7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#adb6ad819aea04897b69e411dd1cb5fc7">clear</a> ()=0</td></tr>
<tr class="memdesc:adb6ad819aea04897b69e411dd1cb5fc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears persistence, so that it no longer contains any persisted data. <br/></td></tr>
<tr class="separator:adb6ad819aea04897b69e411dd1cb5fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e216ed0702a4fbad689f5896881cd18"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a7e216ed0702a4fbad689f5896881cd18">contains_key</a> (const string &amp;key)=0</td></tr>
<tr class="memdesc:a7e216ed0702a4fbad689f5896881cd18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether or not data is persisted using the specified key.  <a href="#a7e216ed0702a4fbad689f5896881cd18">More...</a><br/></td></tr>
<tr class="separator:a7e216ed0702a4fbad689f5896881cd18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4c6614822e259d13374f2ee251aa07e"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classmqtt_1_1string__collection.html">string_collection</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#aa4c6614822e259d13374f2ee251aa07e">keys</a> () const =0</td></tr>
<tr class="memdesc:aa4c6614822e259d13374f2ee251aa07e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a collection of keys in this persistent data store.  <a href="#aa4c6614822e259d13374f2ee251aa07e">More...</a><br/></td></tr>
<tr class="separator:aa4c6614822e259d13374f2ee251aa07e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a911ee78fdc1c0b93d66b8529274449fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a911ee78fdc1c0b93d66b8529274449fa">put</a> (const string &amp;key, const std::vector&lt; <a class="el" href="classmqtt_1_1buffer__view.html">string_view</a> &gt; &amp;bufs)=0</td></tr>
<tr class="memdesc:a911ee78fdc1c0b93d66b8529274449fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the specified data into the persistent store.  <a href="#a911ee78fdc1c0b93d66b8529274449fa">More...</a><br/></td></tr>
<tr class="separator:a911ee78fdc1c0b93d66b8529274449fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6addffef71e7526bebafd20734a082c2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmqtt_1_1buffer__view.html">string_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#a6addffef71e7526bebafd20734a082c2">get</a> (const string &amp;key) const =0</td></tr>
<tr class="memdesc:a6addffef71e7526bebafd20734a082c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the specified data out of the persistent store.  <a href="#a6addffef71e7526bebafd20734a082c2">More...</a><br/></td></tr>
<tr class="separator:a6addffef71e7526bebafd20734a082c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af570b2e34a6effab5d0cf7d610804929"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iclient__persistence.html#af570b2e34a6effab5d0cf7d610804929">remove</a> (const string &amp;key)=0</td></tr>
<tr class="memdesc:af570b2e34a6effab5d0cf7d610804929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the data for the specified key.  <a href="#af570b2e34a6effab5d0cf7d610804929">More...</a><br/></td></tr>
<tr class="separator:af570b2e34a6effab5d0cf7d610804929"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ac39954340d8b15edaa883af1bcfcf7ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac39954340d8b15edaa883af1bcfcf7ae"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>async_client</b></td></tr>
<tr class="separator:ac39954340d8b15edaa883af1bcfcf7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4decd27e48a03a3e28a4899917e6f81d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4decd27e48a03a3e28a4899917e6f81d"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>iclient_persistence_test</b></td></tr>
<tr class="separator:a4decd27e48a03a3e28a4899917e6f81d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents a persistent data store, used to store outbound and inbound messages while they are in flight, enabling delivery to the QoS specified. </p>
<p>You can specify an implementation of this interface using client::client(string, string, iclient_persistence), which the client will use to persist QoS 1 and 2 messages.</p>
<p>If the methods defined throw the MqttPersistenceException then the state of the data persisted should remain as prior to the method being called. For example, if put(string, persistable) throws an exception at any point then the data will be assumed to not be in the persistent store. Similarly if remove(string) throws an exception then the data will be assumed to still be held in the persistent store.</p>
<p>It is up to the persistence interface to log any exceptions or error information which may be required when diagnosing a persistence failure. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a4d94ac43f630b23389f6936e74452d1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classmqtt_1_1iclient__persistence.html#a4d94ac43f630b23389f6936e74452d1d">mqtt::iclient_persistence::const_ptr_t</a> =  std::shared_ptr&lt;const <a class="el" href="classmqtt_1_1iclient__persistence.html">iclient_persistence</a>&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Smart/shared pointer to a const object of this class. </p>

</div>
</div>
<a class="anchor" id="a8d4b4f2aeec08433f824fda2a0fc13fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classmqtt_1_1iclient__persistence.html#a8d4b4f2aeec08433f824fda2a0fc13fe">mqtt::iclient_persistence::ptr_t</a> =  std::shared_ptr&lt;<a class="el" href="classmqtt_1_1iclient__persistence.html">iclient_persistence</a>&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Smart/shared pointer to an object of this class. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a7e216ed0702a4fbad689f5896881cd18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool mqtt::iclient_persistence::contains_key </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns whether or not data is persisted using the specified key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The key to find </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> if the key exists, <em>false</em> if not. </dd></dl>

</div>
</div>
<a class="anchor" id="a6addffef71e7526bebafd20734a082c2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmqtt_1_1buffer__view.html">string_view</a> mqtt::iclient_persistence::get </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the specified data out of the persistent store. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The key </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A const view of the data associated with the key. </dd></dl>

</div>
</div>
<a class="anchor" id="aa4c6614822e259d13374f2ee251aa07e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classmqtt_1_1string__collection.html">string_collection</a>&amp; mqtt::iclient_persistence::keys </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a collection of keys in this persistent data store. </p>
<dl class="section return"><dt>Returns</dt><dd>A collection of strings representing the keys in the store. </dd></dl>

</div>
</div>
<a class="anchor" id="a0072b4a4cadc6e16faa53d2b45e7e612"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mqtt::iclient_persistence::open </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>clientId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>serverURI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize the persistent store. </p>
<p>This uses the client ID and server name to create a unique location for the data store. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">clientId</td><td>The identifier string for the client. </td></tr>
    <tr><td class="paramname">serverURI</td><td>The server to which the client is connected. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a911ee78fdc1c0b93d66b8529274449fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mqtt::iclient_persistence::put </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classmqtt_1_1buffer__view.html">string_view</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>bufs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Puts the specified data into the persistent store. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The key. </td></tr>
    <tr><td class="paramname">bufs</td><td>The data to store </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af570b2e34a6effab5d0cf7d610804929"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mqtt::iclient_persistence::remove </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove the data for the specified key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>The key </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/mqtt/<a class="el" href="iclient__persistence_8h_source.html">iclient_persistence.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>mqtt</b></li><li class="navelem"><a class="el" href="classmqtt_1_1iclient__persistence.html">iclient_persistence</a></li>
    <li class="footer">Generated on Sun Jul 23 2017 10:24:30 for Paho C++ by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
